When a GtkNative widget is marked as resize_needed,
we need a current position for its parent and we need
the parent to be allocated (so we can position our
surface), but we don't need the parent to be marked
as resize_needed, since the parent size is entirely
independent of the popup size.
{
GtkWidget *parent = _gtk_widget_get_parent (widget);
if (parent)
- gtk_widget_queue_resize_internal (parent);
+ {
+ if (GTK_IS_NATIVE (widget))
+ gtk_widget_queue_allocate (parent);
+ else
+ gtk_widget_queue_resize_internal (parent);
+ }
}
}